package model;

import java.util.Date;

import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.ManyToOne;
import javax.persistence.Table;
import javax.persistence.Column;
import javax.persistence.JoinColumn;

@Entity
@Table(name="Vehiculo")
public class Vehiculo {
	private int id_vehiculo;
	private String nombre;
	private String placa;
	private Parametro marca;
	private Parametro modelo;
	private int capacidad;
	private Date fechaIngreso;
	private Parametro estadoVehiculo;
	
	public Vehiculo(){
		
	}
	
	@Id
	@GeneratedValue(strategy=GenerationType.IDENTITY)
	@Column(name="id_vehiculo")
	public int getId_vehiculo() {
		return id_vehiculo;
	}

	public void setId_vehiculo(int id_vehiculo) {
		this.id_vehiculo = id_vehiculo;
	}

	@Column(name = "nombre", length = 50)
	public String getNombre() {
		return nombre;
	}
	
	public void setNombre(String nombre) {
		this.nombre = nombre;
	}

	@Column(name = "placa", length = 7)
	public String getPlaca() {
		return placa;
	}

	public void setPlaca(String placa) {
		this.placa = placa;
	}

	@ManyToOne(fetch = FetchType.EAGER)
	@JoinColumn(name = "marca", nullable = false)
	public Parametro getMarca() {
		return marca;
	}

	public void setMarca(Parametro marca) {
		this.marca = marca;
	}

	@ManyToOne(fetch = FetchType.EAGER)
	@JoinColumn(name = "modelo", nullable = false)
	public Parametro getModelo() {
		return modelo;
	}

	
	public void setModelo(Parametro modelo) {
		this.modelo = modelo;
	}

	@Column(name = "capacidad")
	public int getCapacidad() {
		return capacidad;
	}

	public void setCapacidad(int capacidad) {
		this.capacidad = capacidad;
	}

	@Column(name = "fechaIngreso")
	public Date getFechaIngreso() {
		return fechaIngreso;
	}

	public void setFechaIngreso(Date fechaIngreso) {
		this.fechaIngreso = fechaIngreso;
	}

	@ManyToOne(fetch = FetchType.EAGER)
	@JoinColumn(name = "estadoVehiculo", nullable = false)
	public Parametro getEstadoVehiculo() {
		return estadoVehiculo;
	}

	public void setEstadoVehiculo(Parametro estadoVehiculo) {
		this.estadoVehiculo = estadoVehiculo;
	}
}
